package com.strange.mdl.module.mdl.controller.admin.sutras.vo.sutras;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 经书新增/修改 Request VO")
@Data
public class MdlSutrasSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9337")
    private Long id;

    private String coverUrl;

    @Schema(description = "经书名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "经书名称不能为空")
    private String sutraName;

    @Schema(description = "经书编码")
    private String sutraCode;

    @Schema(description = "主分类ID", example = "12158")
    private Long categoryId;

    @Schema(description = "子分类ID", example = "32190")
    private Long subcategoryId;

    @Schema(description = "原作者ID", example = "21617")
    private Long originalAuthorId;

    @Schema(description = "译者ID", example = "2862")
    private Long translatorId;

    @Schema(description = "朝代ID", example = "18594")
    private Long dynastyId;

    @Schema(description = "语言")
    private String language;

    @Schema(description = "版本信息")
    private String versionInfo;

    @Schema(description = "卷数", example = "20585")
    private Integer volumeCount;

    @Schema(description = "总字数")
    private Integer totalWords;

    @Schema(description = "经书简介", example = "随便")
    private String description;

    @Schema(description = "关键词，逗号分隔")
    private String keywords;

    @Schema(description = "状态", example = "1")
    private String status;

}